/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package logica;

import entities.Clientes;
import entities.UnidadesAlojamiento;
import java.util.Date;
import javax.persistence.Query;

/**
 *
 * @author Smuggler
 */

public class ExisteAlquiler {

    private javax.persistence.EntityManager entityManager;
    private javax.persistence.EntityManager entityManagerSecundaria;
    private Clientes cliente;

    public  Integer verificarDisponibilidad(Date fechaInicio, Date fechaFinal, UnidadesAlojamiento unidad, String tipoAlquiler,String tipoAlquiler2, Integer idAlquiler) {
        entityManager = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerFactory("SIAATPU").createEntityManager();
        Query queryExisteAlquiler = entityManager.createNamedQuery("Alquileres.findSiExisteAlquiler")
                .setParameter("fechaInicio", fechaInicio)
                .setParameter("fechaFin", fechaFinal)
                .setParameter("UnidadAlojamiento", unidad)
                .setParameter("tipoalquiler", tipoAlquiler)
                .setParameter("tipoalquiler2", tipoAlquiler2)
                .setParameter("idAlquiler", idAlquiler);
        
         //Devuelvo error si la fecha inicio es mayor que la fecha final
        if(fechaInicio.compareTo(fechaFinal)== 1){
        return 2;
        }
        if (queryExisteAlquiler.getResultList().isEmpty()) {
            return 0;
        }
        
       
        

        return 1;

    }
    
     public  Integer verificarAlquilerFecha(Date fechaInicio, Date fechaFinal,Integer idAlquiler,UnidadesAlojamiento unidad) {
        entityManagerSecundaria = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerFactory("SIAATPU").createEntityManager();
        Query queryExisteAlquiler = entityManagerSecundaria.createNamedQuery("Alquileres.findEntreFechasSinCancelado")
                .setParameter("fechaInicio", fechaInicio)
                .setParameter("fechaFin", fechaFinal)
                .setParameter("idAlquiler", idAlquiler)
               .setParameter("UnidadAlojamiento", unidad);
         //Devuelvo error si la fecha inicio es mayor que la fecha final
        if(fechaInicio.compareTo(fechaFinal)== 1){
        return 2;
        }
        if (queryExisteAlquiler.getResultList().isEmpty()) {
            return 0;
        }
        
       
        

        return 1;

    }
}

